Reconciling Buffer Management with Persistence Optimisations

نویسندگان

  • Quintin I. Cutts
  • Stuart Lennon
  • Antony L. Hosking
چکیده

The so-called 'read' and 'write' barriers present an obstacle to the efficient execution of persistent programs that use a volatile object buffer, nonvolatile object store memory model. The barriers, implemented as checks added to the code, are required to ensure that objects are moved from store to buffer before being used and, if updated in the buffer, that they are written back on periodic checkpoints. Static read and write barrier optimisations are identified that require runtime guarantees on certain objects' remaining resident in the buffer. These objects are said to be 'pinned'. Object pinning conflicts with the buffer manager's freedom to evict objects from the buffer when it is full . A contract between the buffer manager and the code optimiser guarantees a minimum level of pinning for each thread. Beyond this guarantee, heuristics added to the buffer manager allow adjustment of the level of pinning for each thread according to the prevailing collection and individual states of threads, to minimise pinning vs object management conflicts. Optimisation of the write barrier additionally requires the buffer manager to uphold certain guarantees across checkpoint operations. This paper presents the design of buffer management mechanisms to uphold the pinning and update guarantees and identifies the heuristics used to adjust the level of pinning allocated to each thread. Details of the mechanisms' implementation in the PJama system are given. Measurements show that the additional functionality does not represent a significant overhead to the operation of the system, when running the OO7 benchmark.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Flash-Aware Buffer Management for Database Systems

Classical buffer replacement policies, e. g., LRU, are suboptimal for database systems having flash disks for persistence, because they are not aware of the distinguished characteristics of flash-based storage devices. We introduce the basic principles of buffer management for such devices and present two efficient buffer algorithms that apply these principles. These algorithms significantly im...

متن کامل

CFDC: A Flash-Aware Buffer Management Algorithm for Database Systems

Classical buffer replacement policies, e.g., LRU, are suboptimal for database systems having flash disks for persistence, because they are not aware of the distinguished characteristics of those storage devices. We present CFDC (Clean-First Dirty-Clustered), a flash-aware buffer management algorithm, which emphasizes that clean buffer pages are first considered for replacement and that modified...

متن کامل

Towards Compile-Time Optimisations for Persistence

We consider how a persistent programming language might offer performance competitive with that of non-persistent languages, at least on memory resident data. We are concerned with object-oriented languages, and with implementing persistence via object faulting, where the system detects uses of non-resident objects and fetches them on demand. We present some background on object faulting and me...

متن کامل

Analysing, Profiling and Optimising Orthogonal Persistence for Java

Persistent systems manage main memory as a cache for efficient access to frequently-accessed persistent data. Good cache management requires some knowledge of the semantics of the applications running against it. We are attacking the performance problems of persistence for Java through analysis, profiling, and optimisation of Java classes and methods executing in an orthogonally persistent sett...

متن کامل

Decoupling Persistence Services from DBMS Buffer Management

Advances in DRAM technology and, in turn, substantial cost reduction for volatile memory in recent years require an evolution of database system architectures to take full benefit of large buffer pools. Having huge memory sizes, an up-to-date version of database pages on stable storage is more than ever necessary to support fast and effective crash recovery. In this contribution, we consider im...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1998